home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…rary 5 (Internal Edition) / Apple R&P Lib Internal v5.0.iso / 5-Fonts & Software / Applications / Aldus PageMaker 3.02 / Aldus Prep < prev    next >
Text File  |  1989-05-01  |  27KB  |  1,153 lines

  1. % 209    26            AldusVersion/AldRevision:  This record must be first!!
  2. % Copyright (C) 1987 Aldus Corporation. All rights reserved.
  3.  
  4. /AldusDict2 300 dict def    
  5. AldusDict2
  6. begin                                                    
  7. /AldusVersion         209     def        
  8. /AldusRev            26        def        
  9. systemdict /currentpacking known
  10. {/AD_OldPacking currentpacking def
  11. true setpacking
  12. } if
  13. /AD_PrevMatrix         matrix     def        
  14. /AD_SomethingOnPage    false    def        
  15. /AD_OutlineWidth    30        def        
  16. /AD_ShadOffset        0.06    def     
  17. /AD_OLShadOffset    0.06    def     
  18. /AD_OLSmearFact        0.03    def     
  19. /AD_BoldSmearFact    0.03    def     
  20. /AD_ObliqueAngle    -0.21    def     
  21. /AD_TrueSetscreen /setscreen load def 
  22. /AD_NestedMirror false def        
  23. /BEGJOB                                             
  24. {    /AD_Invert        exch def
  25. dup AD_NestedMirror xor /AD_NestedMirror exch def
  26. /AD_MirrorFlag    exch def
  27. /AD_WideFlag    exch def
  28. /paperwid        exch def
  29. /paperht         exch def
  30. /AD_Resolution    1440 def
  31. /AD_PointsToUCS    AD_Resolution 72 div def
  32. /AD_EvenRound 72 72 matrix defaultmatrix dtransform pop abs 750 gt def
  33. AD_PrevMatrix currentmatrix pop
  34. /AD_PrevScreen [currentscreen] def
  35. /AD_PrevTransfer currenttransfer def
  36. /AD_StdScreen true def
  37. /STD_SCREEN
  38. {
  39. AD_StdScreen not
  40. {
  41. AD_PrevScreen cvx exec setscreen
  42. /AD_PrevTransfer load settransfer
  43. /AD_StdScreen true assign
  44. }if
  45. } def
  46. true _SetCoordSys
  47. version (23.) anchorsearch 
  48. {
  49. pop pop
  50. /truesetgray /setgray load def
  51. /setgray
  52. {
  53. mark
  54. AD_Invert
  55. {.0 .0 .06 .1 .28 .48 .56 .68 .82 .9 .98 1.0 }
  56. {1.0 1.0 .98 .9 .82 .68 .56 .48 .28 .1 .06 .0 }
  57. ifelse
  58. counttomark dup 3 add -1 roll exch
  59. 2 sub mul dup floor cvi
  60. dup 3 1 roll sub
  61. exch dup 
  62. 3 add index exch 2 add index dup
  63. 4 1 roll
  64. sub mul add
  65. counttomark 1 add 1 roll 
  66. cleartomark
  67. truesetgray
  68. } def
  69. }
  70. { pop }
  71. ifelse
  72. /screenAdjust 1 0 dtransform exch atan def
  73. /mirrorScreen AD_NestedMirror {/neg load} {{}} ifelse def
  74. /setscreen {exch screenAdjust add mirrorScreen exch AD_TrueSetscreen} def
  75. } def            
  76. /_SetCoordSys
  77. {
  78. /AD_OldSys exch def
  79. AD_WideFlag
  80. {    AD_OldSys
  81. {
  82. 90 rotate 
  83. 1 AD_PointsToUCS div dup neg scale
  84. }
  85. {
  86. 1 AD_PointsToUCS div dup neg scale
  87. paperht paperwid neg translate
  88. 90 rotate
  89. }
  90. ifelse
  91. }
  92. { 1 AD_PointsToUCS div dup neg scale
  93. 0 paperht neg translate
  94. ifelse
  95. AD_MirrorFlag
  96. { paperwid 0 translate
  97. -1 1 scale
  98. if
  99. /AD_DeviceScale
  100. 1 1 transform pop 0 0 transform pop sub abs 
  101. def
  102. } bind def
  103. /SETRES                                             
  104. {
  105. /AD_Resolution    exch def
  106. /AD_PointsToUCS    AD_Resolution 72 div def
  107. AD_PrevMatrix setmatrix
  108. false _SetCoordSys
  109. } bind def            
  110. /BEGPAGE                                             
  111. {    /AD_SomethingOnPage    false def
  112. }     bind def            
  113. /ENDPAGE                                             
  114. {    AD_SomethingOnPage 
  115. { save
  116. showpage 
  117. restore 
  118. } if
  119. }     def 
  120. /ENDJOB                                             
  121. {    AD_PrevMatrix setmatrix
  122. }     bind def                                            
  123. /S_IMAGEMASK                                            
  124. {    /here save def
  125. /h exch def        /w exch def
  126. /dh exch def    /dw exch def
  127. /y0 exch def    /x0 exch def
  128. /sx w dw div def
  129. /sy h dh div def
  130. /imbuf w 7 add 8 idiv string def
  131. 0 setgray
  132. x0 y0 translate w h true [sx 0 0 sy 0 0]
  133. {currentfile imbuf readhexstring pop} imagemask
  134. here restore
  135. /AD_SomethingOnPage    true def
  136. }     bind def                                            
  137. /S_IMAGE                                            
  138. {    /here save def
  139. /bits exch def
  140. /h exch def        /w exch def
  141. /dh exch def    /dw exch def
  142. /y0 exch def    /x0 exch def
  143. /sx w dw div def
  144. /sy h dh div def
  145. /imbuf w bits mul 7 add 8 idiv string def
  146. x0 y0 translate w h bits [sx 0 0 sy 0 0]
  147. {currentfile imbuf readhexstring pop} image
  148. here restore
  149. /AD_SomethingOnPage    true def
  150. }     bind def                                            
  151. /S_PSCRIPT                                            
  152. {    /AD_SomethingOnPage    true def
  153. }     bind def                                            
  154. /S_TEXTSEGBEG                                            
  155. {    /here save def
  156. /TX_RunDrawn false def
  157. newpath
  158. }     bind def                                            
  159. /S_TEXTSEGEND                                            
  160. {    TX_RunDrawn
  161. { here restore
  162. /AD_SomethingOnPage true def }
  163. { here restore } ifelse
  164. }     bind def                                            
  165. /S_WORKING
  166. {
  167. /AD_WorkingMemory exch def
  168. } bind def
  169. /S_LOADFONT
  170. {
  171. AldusDict2 /AD_TopOfFonts known exch
  172. { { AD_TopOfFonts restore } if }
  173. { not { save /AD_TopOfFonts exch def } if    }
  174. ifelse
  175. } bind def
  176. /SURSTR
  177. {
  178. AD_SomethingOnPage SUsv restore
  179. } bind def
  180. /SUSAVE
  181. {
  182. AldusDict2 /AD_TopOfFonts known 
  183. vmstatus exch sub exch pop AD_WorkingMemory lt 
  184. { dup { AD_TopOfFonts restore } if } if
  185. not                    
  186. { save /AD_TopOfFonts exch def } if    
  187. save /SUsv exch def /AD_SomethingOnPage exch def
  188. } bind def
  189. /_ftName 66 string def
  190. /_AutoRecode
  191. {    
  192. /recode exch def
  193. _ftName cvs
  194. dup length 7 gt
  195. {    dup 0 7 getinterval (|______) eq
  196. {    dup length 7 exch 7 sub getinterval 
  197. recode { FTRECODE } { FTRENAME } ifelse
  198. }
  199. { pop }
  200. ifelse
  201. }
  202. { pop } ifelse
  203. } bind def
  204. /SHADOWFLAG        16#1  def            
  205. /OUTLINEFLAG    16#2  def             
  206. /BOLDSMEAR        16#4  def             
  207. /OUTLINESMEAR    16#8  def             
  208. /ReENCODED        16#10 def            
  209. /BOLDPSBUMP        16#20 def            
  210. /ITALICOBLIQUE    16#40 def            
  211. /SET            
  212. {    
  213. /AD_textcolor    exch def    
  214. /AD_fontbits    exch def    
  215. /AD_20EMS        exch def    
  216. 1 index FontDirectory exch known not 
  217. { 1 index ReENCODED AD_fontbits _iand _AutoRecode } if 
  218. BOLDPSBUMP AD_fontbits _iand
  219. {    1 add } if
  220. dup _ActivateFont
  221. ITALICOBLIQUE AD_fontbits _iand
  222. {     _ActivateObliqueFont 
  223. } if
  224. /AD_EmNotMatch AD_20EMS 20 div (M) _ADStringWidth pop sub abs 1 gt def
  225. }     bind def                                            
  226. /S_SETUPRUN /SET load def        
  227. /OUT                
  228. {    /here save def
  229. /runwidth        exch def
  230. /nspaces        exch def
  231. /nchars            exch def
  232. /textrun        exch def
  233. /letterspace    exch def    
  234. /wordspace        exch def
  235. /y1 exch def    /x1 exch def
  236. nchars 0 gt
  237. {    
  238. AD_textcolor setgray 
  239. /letterspace
  240. AD_EmNotMatch
  241. {    
  242. runwidth                    
  243. textrun _ADStringWidth pop 
  244. nchars dup 1 gt {1 sub} if
  245. letterspace mul add        
  246. nspaces wordspace mul add    
  247. sub                        
  248. nchars dup 1 gt {1 sub} if
  249. div                        
  250. }
  251. {    
  252. 0 } ifelse                     
  253. letterspace add def                
  254. SHADOWFLAG AD_fontbits _iand
  255. {    save
  256. OUTLINEFLAG AD_fontbits _iand
  257. {    _OLShadowOffset
  258. }
  259. {    _ShadowScreen
  260. AD_textcolor _ShadowColor
  261. _ShadowOffset
  262. } ifelse 
  263. OUTLINEFLAG AD_fontbits _iand
  264. OUTLINESMEAR AD_fontbits _iand not and 
  265. {    _ActivateSolidFont
  266. } if 
  267. _ShowRun
  268. BOLDSMEAR AD_fontbits _iand
  269. {    _BoldSmearOffset _ShowRun
  270. } if 
  271. restore
  272. } if 
  273. OUTLINEFLAG AD_fontbits _iand 
  274. OUTLINESMEAR AD_fontbits _iand and
  275. {    _OLSmearRun
  276. }
  277. {    OUTLINEFLAG AD_fontbits _iand
  278. {    save
  279. _ActivateSolidFont 
  280. 1 AD_textcolor sub setgray
  281. _ShowRun
  282. restore
  283. } if 
  284. _ShowRun
  285. BOLDSMEAR AD_fontbits _iand
  286. {    _BoldSmearOffset _ShowRun
  287. } if 
  288. } ifelse 
  289. } if 
  290. here restore
  291. /AD_SomethingOnPage true def
  292. }     bind def                                            
  293. /S_OUTPUTRUN /OUT load def        
  294. /_ADStringWidth                                        
  295. {
  296. gsave closepath clip stringwidth grestore    
  297. }     bind def
  298. /_OLSmearRun                                        
  299. {    
  300. gsave _OLSmearOffset translate _ShowRun grestore            
  301. gsave _OLSmearOffset exch neg exch translate _ShowRun grestore            
  302. gsave _OLSmearOffset exch translate _ShowRun grestore                                         
  303. gsave _OLSmearOffset exch neg translate _ShowRun grestore            
  304. gsave 1.0 AD_textcolor sub setgray _ShowRun grestore
  305. }     bind def
  306. /_ShowRun                                        
  307. {    
  308. x1 y1 moveto 
  309. wordspace 0 8#040 letterspace 0 textrun awidthshow
  310. }     bind def
  311. /S_UNDERLINE                                        
  312. {    /here save def
  313. /color            exch def
  314. /pointsize        exch def
  315. /width            exch def
  316. /deltay            exch def
  317. /baseline        exch def
  318. /rightx            exch def
  319. /leftx            exch def
  320. currentfont /FontInfo known
  321. {    
  322. currentfont /FontInfo get
  323. /UnderlinePosition known
  324. {    /deltay 
  325. currentfont /FontInfo get 
  326. /UnderlinePosition get 
  327. currentfont /FontMatrix get 3 get mul 
  328. pointsize AD_fontscale AD_PointsToUCS 
  329. div div mul def
  330. } if 
  331. currentfont /FontInfo get
  332. /UnderlineThickness known
  333. {    /width
  334. currentfont /FontInfo get
  335. /UnderlineThickness get 
  336. currentfont /FontMatrix get 3 get abs mul 
  337. pointsize AD_fontscale AD_PointsToUCS 
  338. div div mul def
  339. } if 
  340. } if 
  341. /underliney 
  342. 0 baseline deltay add transform 
  343. round exch round exch itransform exch pop def
  344. color setgray 
  345. width setlinewidth
  346. SHADOWFLAG AD_fontbits _iand
  347. {    save
  348. OUTLINEFLAG AD_fontbits _iand 
  349. {    _OLShadowOffset
  350. }
  351. {    _ShadowScreen
  352. color _ShadowColor
  353. _ShadowOffset
  354. } ifelse 
  355. leftx underliney rightx underliney _ShowUnderline                                 
  356. restore
  357. } if 
  358. leftx underliney rightx underliney _ShowUnderline
  359. OUTLINEFLAG AD_fontbits _iand
  360. OUTLINESMEAR AD_fontbits _iand not and 
  361. {    
  362. save
  363. 1 color sub setgray
  364. /AD_OutlineWidth
  365. AD_OutlineWidth 1000 div AD_fontscale mul def
  366. width 3 AD_OutlineWidth mul ge
  367. { width 2 AD_OutlineWidth mul sub }
  368. { width 3 div } ifelse
  369. setlinewidth
  370. leftx AD_OutlineWidth add underliney
  371. rightx AD_OutlineWidth sub underliney _ShowUnderline
  372. restore
  373. } if 
  374. here restore
  375. /AD_SomethingOnPage true def
  376. }     bind def
  377. /_ShowUnderline                                        
  378. {
  379. newpath moveto lineto stroke    
  380. }     bind def
  381. /S_STRIKETHRU                                            
  382. {    /here save def
  383. /color            exch def
  384. /y                exch def
  385. /rightx            exch def
  386. /leftx            exch def
  387. /y    0 y transform 
  388. round exch round exch itransform exch pop def
  389. color setgray 
  390. _StrikeThruWidth setlinewidth
  391. newpath
  392. leftx  y moveto
  393. rightx y lineto stroke
  394. here restore
  395. /AD_SomethingOnPage true def
  396. }     bind def                                            
  397. /DV_DRAW_TEXT                                            
  398. {    /here save def
  399. /text    exch def
  400. /y         exch def    
  401. /x         exch def
  402. Black setgray
  403. (Helvetica-Bold) FTRECODE
  404. /|______Helvetica-Bold 9 dup _ActivateFont 
  405. x y moveto
  406. text show                    
  407. here restore
  408. /AD_SomethingOnPage    true def
  409. }     bind def                                            
  410. /DV_DRAW_BOX                                            
  411. {    /here save def
  412. /draftflag exch def
  413. /shadowflag exch def
  414. /y2 exch def    /x2 exch def
  415. /y1 exch def    /x1 exch def
  416. AD_PointsToUCS 2 div setlinewidth
  417. newpath
  418. x1 y1 moveto
  419. x1 y2 lineto
  420. x2 y2 lineto
  421. x2 y1 lineto closepath 
  422. shadowflag
  423. { gsave STD_SCREEN 0.5 setgray fill grestore}
  424. { gsave
  425. 1.0 setgray fill
  426. grestore 
  427. 0.0 setgray stroke } ifelse
  428. draftflag
  429. { x1 y1 moveto
  430. x2 y2 lineto stroke
  431. x2 y1 moveto
  432. x1 y2 lineto stroke } if
  433. here restore
  434. /AD_SomethingOnPage    true def
  435. }     bind def
  436. /DV_DRAW_LINE                                            
  437. {    /here save def
  438. /lw exch def
  439. /y2 exch def    /x2 exch def
  440. /y1 exch def    /x1 exch def
  441. x1 y1 transform 
  442. round exch round exch itransform /y1 exch def /x1 exch def
  443. x2 y2 transform 
  444. round exch round exch itransform /y2 exch def /x2 exch def
  445. 0 lw transform 
  446. round exch round exch itransform /lw exch def pop
  447. lw setlinewidth
  448. Black setgray
  449. newpath
  450. x1 y1 moveto
  451. x2 y2 lineto stroke
  452. here restore
  453. /AD_SomethingOnPage    true def
  454. }     bind def
  455. /DV_DRAW_CIRCLE                                            
  456. {    /here save def
  457. /lw exch def
  458. /r    exch def
  459. /y    exch def        /x exch def
  460. x y transform 
  461. round exch round exch itransform /y exch def /x exch def
  462. 0 r transform 
  463. round exch round exch itransform /r exch def pop
  464. 0 lw transform 
  465. round exch round exch itransform /lw exch def pop
  466. lw setlinewidth
  467. Black setgray
  468. newpath
  469. x y r 0 360 arc stroke
  470. here restore
  471. /AD_SomethingOnPage    true def
  472. }     bind def                                            
  473. /_ActivateFont                                        
  474. {    
  475. /AD_fontscale     exch AD_PointsToUCS mul def
  476. /AD_fontscaleX    exch AD_PointsToUCS mul def
  477. /AD_fontname     exch def
  478. AD_fontname findfont
  479. [ AD_fontscaleX 0 0 AD_fontscale neg 0 0 ] makefont
  480. setfont    
  481. }     bind def
  482. /_ActivateObliqueFont                                        
  483. {    
  484. AD_fontname findfont
  485. [ AD_fontscaleX 0 0 AD_fontscale neg 0 0 ] 
  486. [ 1 0 
  487. AD_ObliqueAngle 
  488. 1 0 0 ] matrix concatmatrix makefont setfont    
  489. }     bind def
  490. /_ActivateSolidFont                                        
  491. {    
  492. AD_solidfont 
  493. AD_fontscaleX AD_PointsToUCS div 
  494. AD_fontscale AD_PointsToUCS div _ActivateFont
  495. }     bind def
  496. /_ShadowOffset                                        
  497. {    
  498. AD_ShadOffset AD_fontscaleX mul AD_ShadOffset AD_fontscale mul translate    
  499. }     bind def
  500. /_OLShadowOffset                                        
  501. {    
  502. AD_OLShadOffset AD_fontscaleX mul AD_OLShadOffset AD_fontscale mul translate    
  503. }     bind def
  504. /_ShadowScreen                                        
  505. {    
  506. 100 AD_PrevScreen 1 get AD_PrevScreen 2 get setscreen
  507. }     bind def    
  508. /_ShadowColor                                        
  509. {    
  510. 0.6 mul 0.8 exch sub setgray
  511. }     bind def
  512. /_OLSmearOffset                                        
  513. {    
  514. AD_OLSmearFact AD_fontscaleX mul AD_OLSmearFact AD_fontscale mul
  515. }     bind def
  516. /_BoldSmearOffset                                        
  517. {    
  518. AD_BoldSmearFact AD_fontscaleX mul AD_BoldSmearFact AD_fontscale mul translate
  519. }     bind def
  520. /_StrikeThruWidth                                        
  521. {    
  522. AD_fontscale 16 div
  523. }     bind def
  524. /_iand                                        
  525. {    and 0 ne       
  526. }     bind def
  527. /bdef { bind def } bind def
  528. /FTRENAME {
  529. dup (|______) exch ftMakeName cvn /NewName local
  530. FontDirectory NewName known
  531. {pop}
  532. {cvn findfont dup
  533. maxlength dict false copyDict
  534. dup /FontName known
  535. {dup /FontName NewName put} if
  536. NewName exch definefont pop
  537. } ifelse
  538. } bdef
  539. /FTRECODE {
  540. dup (|______) exch ftMakeName cvn /NewName local
  541. FontDirectory NewName known
  542. {pop}
  543. {cvn findfont dup
  544. maxlength dict false copyDict
  545. dup /FontName known
  546. {dup /FontName NewName put} if
  547. dup /Encoding MacEncoding put
  548. NewName exch definefont pop
  549. } ifelse
  550. } bdef
  551. /AD_encode_vector_size    256 def
  552. /AD_encode_vector    null    def
  553. /AD_doing_recoding false def
  554. /BEG_RECODE
  555. {
  556. dup (|______) exch ftMakeName cvn /NewName local
  557. FontDirectory NewName known
  558. {
  559. pop
  560. /AD_doing_recoding false def
  561. /AD_encode_vector null def
  562. }
  563. {cvn findfont dup
  564. maxlength dict false copyDict
  565. dup /FontName known
  566. {dup /FontName NewName put} if
  567. /AD_encode_vector AD_encode_vector_size array def
  568. dup begin Encoding AD_encode_vector copy pop end
  569. dup /Encoding AD_encode_vector put
  570. NewName exch definefont pop
  571. /AD_doing_recoding true def
  572. AD_encode_vector    
  573. dup
  574. } ifelse
  575. } bdef
  576. /ENCODE_CHAR
  577. {
  578. AD_doing_recoding
  579. {
  580. put
  581. dup
  582. }
  583. {
  584. pop
  585. pop
  586. } ifelse
  587. } bdef
  588. /END_RECODE
  589. {
  590. AD_doing_recoding
  591. {
  592. pop
  593. pop
  594. } if
  595. /AD_doing_recoding false def
  596. /AD_encode_vector null def
  597. } bdef
  598. /FTOUTLINE {
  599. ReENCODED FTOLINE
  600. } bdef
  601. /FTOLINE {
  602. /AD_fontbits exch def
  603. cvn /OlineName local
  604. dup /AD_solidfont exch def
  605. AD_solidfont FontDirectory exch known not 
  606. { AD_solidfont ReENCODED AD_fontbits _iand _AutoRecode } if 
  607. FontDirectory OlineName known
  608. {pop}
  609. {cvn findfont dup
  610. maxlength 2 add dict true copyDict
  611. dup /FontName known
  612. {dup /FontName OlineName put} if
  613. dup /PaintType 2 put
  614. dup /StrokeWidth AD_OutlineWidth put
  615. OlineName exch definefont pop
  616. } ifelse
  617. } bdef
  618. /AD_nameString1 66 string def            
  619. /ftMakeName {
  620. 1 index length /PrefixLen local
  621. dup length PrefixLen add AD_nameString1 exch 0 exch getinterval
  622. dup PrefixLen 4 -1 roll putinterval
  623. dup 0 4 -1 roll putinterval
  624. } bdef
  625. /copyDict {
  626. /NoUnique local
  627. /NewFont local
  628. {exch dup /FID ne
  629. NoUnique
  630. {1 index /UniqueID ne and} if
  631. {exch NewFont 3 1 roll put}
  632. {pop pop}  ifelse
  633. } forall
  634. NewFont
  635. } bdef
  636. /MacEncoding 256 array def
  637. MacEncoding 0
  638. /Times-Roman findfont /Encoding get
  639. 0 128 getinterval
  640. putinterval
  641. MacEncoding 16#27 /quotesingle put
  642. MacEncoding 16#60 /grave put
  643. /Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute
  644. /agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave
  645. /ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute
  646. /ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis
  647. /dagger /degree /cent /sterling /section /bullet /paragraph /germandbls
  648. /registersans /copyrightsans /trademarksans /acute /dieresis /notequal /AE /Oslash
  649. /infinity /plusminus /lessequal /greaterequal /yen /mu /partialdiff /summation
  650. /product /pi /integral /ordfeminine /ordmasculine /Omega /ae /oslash
  651. /questiondown /exclamdown /logicalnot /radical /florin /approxequal /Delta /guillemotleft
  652. /guillemotright /ellipsis /space /Agrave /Atilde /Otilde /OE /oe
  653. /endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /divide /lozenge
  654. /ydieresis /Ydieresis /fraction /currency /guilsinglleft /guilsinglright /fi /fl
  655. /daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand
  656. /Acircumflex /Ecircumflex /Aacute
  657. /Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex
  658. /apple /Ograve /Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde
  659. /macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
  660. MacEncoding 128 128 getinterval astore pop
  661. /getAnInt{2 getinterval dup 0 get 16#100 mul exch 1 get add cvi}def
  662. /CharBitStr 30 string def
  663. /BuildCharDict 16 dict def
  664. /AFONT
  665. {
  666. gsave
  667. /FName local
  668. /BMFSize local
  669. 1 add /LastChar local
  670. /FirstChar local
  671. /DefChar LastChar FirstChar sub 2 mul def
  672. 20 dict dup 
  673. begin 
  674. 10 1 roll
  675. /LocTableLen local
  676. /OWTableLen local
  677. /BMRowLen local
  678. /PixelHeight local
  679. /FontWidth local
  680. /MaxWidth local
  681. /MaxKern local
  682. /Descent local
  683. /Ascent local
  684. /Bits BMRowLen PixelHeight mul string currentfile exch readhexstring pop def
  685. /LocTable LocTableLen string currentfile exch readhexstring pop def
  686. /OWTable OWTableLen string currentfile exch readhexstring pop def
  687. /FontType 3 def
  688. /FontMatrix matrix def
  689. /FontBBox[MaxKern Descent neg MaxWidth MaxKern add Ascent]def
  690. /Encoding 256 array def
  691. Encoding 0 MacEncoding 0 256 getinterval putinterval
  692. /Mummble 257 array def
  693. 0 1 256{Mummble exch DefChar put}for
  694. FirstChar 1 LastChar{Mummble exch dup FirstChar sub 2 mul put}for
  695. /BuildChar
  696. {
  697. BuildCharDict 
  698. begin
  699. /1Char local
  700. /FDict local
  701. FDict /Mummble get 1Char get /2Char local
  702. FDict /OWTable get 2Char getAnInt 16#FFFF eq
  703. {/2Char DefChar assign}if
  704. FDict /LocTable get 2Char getAnInt
  705. /BitLoc local
  706. FDict /LocTable get 2Char 2 add getAnInt
  707. BitLoc sub
  708. /BitWidth local
  709. BitLoc 8 mod /ShiftVal local
  710. 16#FF 8 ShiftVal sub
  711. dup neg /RemShift local
  712. bitshift 16#FF and /BMask local
  713. 16#FF 8 BitLoc BitWidth add 8 mod
  714. sub dup 8 ge{pop 0}if
  715. BitWidth 0 eq{pop 8}if
  716. bitshift /AMask local
  717. BitWidth ShiftVal add 7 add 8 idiv
  718. dup 0 eq{pop 1}if
  719. /ByteWidth local
  720. BitLoc 8 idiv
  721. /WhichRow local
  722. FDict /OWTable get 2Char get cvi /Offset local
  723. FDict /OWTable get 2Char 1 add get cvi /Charwidth local
  724. Charwidth 0 BMFSize divPoint
  725. FDict /MaxKern get FDict /Descent get neg BMFSize divPoint
  726. BitWidth Offset add FDict /MaxKern get add FDict /Ascent get BMFSize divPoint
  727. setcachedevice
  728. gsave
  729. ByteWidth 8 mul
  730. FDict /PixelHeight get
  731. true
  732. [FDict /PixelHeight get FDict /Descent get sub 1 add
  733. 0
  734. 0
  735. FDict /PixelHeight get FDict /Descent get sub 1 add neg
  736. Offset neg 0.5 add
  737. FDict /PixelHeight get FDict /Descent get sub 0.5 add]
  738. FDict /Bits get WhichRow
  739. ByteWidth getinterval
  740. CharBitStr copy /ThisRow local
  741. 16#100
  742. ByteWidth 1 sub 1 neg 0
  743. {    /iV local
  744. ThisRow iV get
  745. 1 index 16#100 eq{AMask and}if
  746. dup BMask and RemShift bitshift
  747. 3 1 roll ShiftVal bitshift
  748. add 16#FF and
  749. cvi ThisRow iV 3 -1 roll put
  750. }for
  751. pop ThisRow
  752. /WhichRow WhichRow FDict /BMRowLen get add assign
  753. } imagemask
  754. grestore
  755. end 
  756. }def 
  757. end
  758. FontDirectory FName cvn known
  759. {pop}
  760. {FName cvn exch definefont pop} ifelse
  761. grestore
  762. }def 
  763. /const /def load def
  764. /var /def load def
  765. /local[/exch load /def load]cvx def
  766. /assign /def load def
  767. /incr{dup cvx exec 1 add assign}bdef
  768. /postIncr{dup cvx exec exch incr}bdef
  769. /SpaceChar 16#20 const
  770. /cvPA{2 array astore cvx}bdef
  771. /point{cvPA def}bdef
  772. /locPoint{3 1 roll point}bdef
  773. /pointXpoint{3 -1 roll mul 3 1 roll mul exch}bdef
  774. /pointDpoint{3 -1 roll exch div 3 1 roll div exch}bdef
  775. /setPoint{load astore pop}bdef
  776. /dupPoint{2 copy}bdef
  777. /addPoint{exch 4 -1 roll add 3 1 roll add}bdef
  778. /subPoint{exch 3 1 roll sub 3 1 roll sub exch}bdef
  779. /mulPoint{dup pointXpoint}bdef
  780. /divPoint{dup pointDpoint}bdef
  781. /exchPoint{4 2 roll}bdef
  782. /overPoint{3 index 3 index}bdef
  783. /anyStatD systemdict /statusdict known const
  784. /thisProduct anyStatD
  785. {statusdict /product known{statusdict /product get}{()}ifelse}
  786. {()}ifelse const
  787. /PerCentChg 1.0 -1.0 point
  788. /boxPath{/y2 local /x2 local /y1 local /x1 local
  789. x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto
  790. closepath}bdef
  791. /dump{4{pop}repeat}bdef
  792. /rBoxPath{/r local /y2 local /x2 local
  793. /y1 local /x1 local
  794. x1 r add y1 moveto x2 y1 x2 y2 r arcto dump
  795. x2 y2 x1 y2 r arcto dump x1 y2 x1 y1 r arcto dump
  796. x1 y1 x2 y1 r arcto dump closepath}bdef
  797. /SaveMatrix matrix var
  798. /ButtCap   0 const
  799. /SquareCap 2 const
  800. /MiterJoin 0 const
  801. /BevelJoin 2 const
  802. /Black 0 const
  803. /White 1 const
  804. /Wide  0 const
  805. /Narrow 1 const
  806. /PictPostScript false var
  807. /isHairline false var
  808. /PBEGIN{
  809. dup not {save /PSave exch def} if
  810. /isLBO exch def
  811. /PBotRight locPoint
  812. /PTopLeft locPoint
  813. isLBO not {newpath PTopLeft PBotRight boxPath clip} if newpath
  814. isLBO {ButtCap}{SquareCap} ifelse setlinecap
  815. MiterJoin setlinejoin
  816. 3 setmiterlimit
  817. AD_PointsToUCS setlinewidth
  818. /deviceRound
  819. {
  820. dup
  821. AD_DeviceScale mul round AD_DeviceScale div
  822. dup 0 eq { pop } { exch pop } ifelse 
  823. } def
  824. /HairWidth 
  825. AD_PointsToUCS 4 div 
  826. AD_DeviceScale mul deviceRound dup 1.5 lt
  827. { pop 0 } if
  828. const
  829. Black setgray
  830. /LineScale 1 var
  831. /LineWidth  AD_PointsToUCS var
  832. /LineHeight AD_PointsToUCS var
  833. /DoingWedge false var
  834. /DoingArc   false var
  835. AldusDict2 /PatternShade known not
  836. {
  837. /psb {} bdef                
  838. /pse {} bdef
  839. /PatternShade Black var
  840. /DeclaredPattern <00> var
  841. /PCurPat         <01> var 
  842. } if
  843. }bdef
  844. /PEND{
  845. newpath
  846. isLBO not {PSave restore} if
  847. /AD_SomethingOnPage    true def
  848. }bdef
  849. /SetPattern {
  850. dup /PatternShade exch def setgray
  851. } bdef
  852. /bitison{
  853. /ybit local /xbit local
  854. PCurPat ybit PatWidth mul
  855. xbit 8 idiv add get
  856. 1 7 xbit 8 mod AD_NestedMirror {exch pop}{sub} ifelse bitshift
  857. and 0 ne}bdef
  858. /PSHADE{
  859. STD_SCREEN
  860. 100 div dup /PatternShade exch def setgray
  861. <01> /PCurPat local 
  862. } def
  863. /BK { Black setgray } bdef            
  864. /WT { White setgray } bdef            
  865. /PBLACK /BK load def                    
  866. /PWHITE /WT load def                    
  867. /PUSETHISPATTERN {
  868. dup PCurPat eq {pop}{ PPATTERN } ifelse
  869. PatternShade setgray
  870. /VerifyUsedPattern false def
  871. } bdef
  872. /PUSEPATTERN {
  873. VerifyUsedPattern
  874. {DeclaredPattern PCurPat ne {DeclaredPattern PPATTERN} if
  875. } if
  876. PatternShade setgray
  877. /VerifyUsedPattern false def
  878. } bdef
  879. /PDECLAREPATTERN {
  880. /DeclaredPattern exch def
  881. /VerifyUsedPattern true def
  882. } bdef
  883. /PatWidth 1 const
  884. /PatSide 8 const
  885. /PFreq 300 32 div const
  886. /PPATTERN{/PCurPat local
  887. /VerifyUsedPattern false def
  888. 0 /Onbits local 0 /Offbits local
  889. AD_Invert {{1 exch sub} settransfer} {{} settransfer} ifelse 
  890. PFreq PerCentChg pop dup 0.96 eq
  891. {pop}{div}ifelse 
  892. {
  893. 1 1 addPoint 2 divPoint PatSide mulPoint
  894. cvi exch cvi exch bitison AD_Invert xor
  895. {/Onbits incr 1}
  896. {/Offbits incr 0}ifelse
  897. }
  898. setscreen
  899. Offbits dup Onbits add div AD_Invert {1 exch sub} if SetPattern
  900. /AD_StdScreen false assign}def
  901. /vertLines{pop dup mul -2 mul 1 add}bdef
  902. /sPat
  903. {            
  904. AD_Invert {{1 exch sub} settransfer} {{} settransfer} ifelse 
  905. setscreen setgray
  906. }def
  907. /PALDUSSHADE
  908. {
  909. <11> /PCurPat local
  910. /AD_StdScreen false assign
  911. Wide eq
  912. { 0.774 20 45 {vertLines} sPat }
  913. { 0.643 30 45 {vertLines} sPat }
  914. ifelse
  915. } bdef
  916. /PHAIRWIDTH
  917. {
  918. HairWidth setlinewidth /isHairline true def
  919. } bdef
  920. /LW {                
  921. LineScale mul deviceRound /LineHeight exch def
  922. LineScale mul deviceRound dup /LineWidth exch def
  923. setlinewidth
  924. /isHairline false def
  925. }bdef
  926. /PLNWIDTH /LW load def        
  927. /PLNSCALE{div /LineScale exch def} bdef
  928. /roundCoord
  929. {
  930. 0.5 add round 0.5 sub
  931. } bdef
  932. /roundPoint
  933. {
  934. transform
  935. AD_EvenRound
  936. { 2 div round 2 mul exch 2 div round 2 mul exch }
  937. { round exch round exch }
  938. ifelse
  939. itransform
  940. } bdef
  941. /adjWidth {
  942. currentlinewidth dup
  943. 1 AD_DeviceScale div gt { deviceRound 2 div } { pop .5 AD_DeviceScale div } ifelse
  944. } bdef
  945. /pULAdj{ roundPoint adjWidth dup addPoint }bdef
  946. /pLRAdj{ roundPoint adjWidth dup subPoint }bdef
  947. /PLINETO
  948. {
  949. PictPostScript 
  950. { moveto lineto }
  951. /y2 exch def /x2 exch def /y1 exch def /x1 exch def
  952. currentlinecap ButtCap setlinecap
  953. newpath
  954. x1 x2 eq y1 y2 eq and
  955. {
  956. LineWidth 1 le LineHeight 1 le and
  957. { x1 y1 moveto } 
  958. { x1 y1 
  959. x1 LineWidth add y1 LineHeight add
  960. boxPath fill}
  961. ifelse
  962. }
  963. { y1 y2 eq             
  964. LineWidth x1 x2 lt 
  965. { x2 add /x2 exch def }
  966. { x1 add /x1 exch def }
  967. ifelse
  968. LineHeight setlinewidth 
  969. x1 y1 LineHeight 2 div add roundPoint moveto
  970. x2 y2 LineHeight 2 div add roundPoint lineto
  971. mayStroke
  972. }
  973. { x1 x2 eq             
  974. LineHeight y1 y2 lt 
  975. { y2 add /y2 exch def }
  976. { y1 add /y1 exch def }
  977. ifelse
  978. x1 LineWidth 2 div add y1 roundPoint moveto
  979. x2 LineWidth 2 div add y2 roundPoint lineto
  980. mayStroke
  981. }
  982. {                
  983. x1 y1 pULAdj moveto x2 y2 pULAdj lineto mayStroke
  984. }
  985. ifelse 
  986. }    
  987. ifelse
  988. }
  989. ifelse
  990. setlinecap            
  991. }
  992. ifelse
  993. }bdef
  994. /HairRect
  995. {
  996. save /here exch def
  997. /y2 exch def /x2 exch def 
  998. /y1 exch def /x1 exch def
  999. PHAIRWIDTH newpath
  1000. x1 x2 sub abs y1 y2 sub abs lt
  1001. { x1 x2 add 2 div dup y1 roundPoint moveto y2 roundPoint lineto stroke}
  1002. { y1 y2 add 2 div dup x1 exch roundPoint moveto x2 exch roundPoint lineto stroke}
  1003. ifelse
  1004. here restore
  1005. } bdef 
  1006. /PHAIRLINE
  1007. {
  1008. count 4 gt
  1009. newpath PHAIRWIDTH
  1010. addPoint 2 divPoint roundPoint moveto 
  1011. addPoint 2 divPoint roundPoint lineto pop pop
  1012. stroke
  1013. }
  1014. { HairRect }
  1015. ifelse
  1016. } bdef
  1017. /PHANGLINE
  1018. {
  1019. roundPoint /yb exch def /xr exch def 
  1020. roundPoint /yt exch def /xl exch def 
  1021. deviceRound /delta exch def 
  1022. { {yt delta sub /yt exch def} {yb delta add /yb exch def} ifelse } 
  1023. { {xl delta sub /xl exch def} {xr delta add /xr exch def} ifelse } 
  1024. ifelse
  1025. newpath 
  1026. 1 AD_DeviceScale div 2 div dup dupPoint 
  1027. xl yt addPoint exchPoint
  1028. xr yb exchPoint subPoint boxPath fill
  1029. } bdef
  1030. /PRECT{newpath pLRAdj exchPoint pULAdj exchPoint boxPath}bdef
  1031. /PRRECT { pLRAdj /Botts locPoint pULAdj /Tops locPoint 
  1032. currentlinewidth dup subPoint /Diams locPoint 
  1033. newpath SaveMatrix currentmatrix pop
  1034. Botts Tops subPoint /Sides locPoint
  1035. Sides pop abs Diams pop ge{Diams}{Sides}ifelse pop
  1036. Sides exch pop abs Diams exch pop ge{Diams}{Sides}ifelse exch pop 
  1037. /Diams locPoint
  1038. Diams 2 div /YRad local
  1039. 0 gt{Diams 
  1040. div}{1}ifelse 1 /PRRscale locPoint
  1041. Tops translate PRRscale scale 0 0 Sides PRRscale pointDpoint
  1042. Diams 0 gt exch 0 gt and{YRad rBoxPath}{boxPath}ifelse
  1043. SaveMatrix setmatrix}bdef
  1044. /POVAL{newpath SaveMatrix currentmatrix pop
  1045. 0 359 false pArc closepath
  1046. SaveMatrix setmatrix}bdef
  1047. /PARC{ newpath SaveMatrix currentmatrix pop
  1048. /DoingArc true assign
  1049. false pArc    
  1050. SaveMatrix setmatrix }bdef
  1051. /PWEDGE{newpath SaveMatrix currentmatrix pop
  1052. /DoingWedge true assign
  1053. true pArc closepath
  1054. SaveMatrix setmatrix }bdef
  1055. /modAdj{
  1056. dup 360 gt{360 sub}if
  1057. dup 0 lt{360 add}if}bdef
  1058. /pArc{/Fill local
  1059. /ArcAng local /BegAng local
  1060. pLRAdj /PLR locPoint
  1061. pULAdj /PUL locPoint
  1062. 360 BegAng ArcAng add sub 90 add modAdj /StartAng local
  1063. StartAng ArcAng add /EndAng local
  1064. PLR PUL subPoint 2 divPoint /Rad locPoint
  1065. PUL Rad addPoint translate
  1066. Rad neg scale
  1067. Fill{0 0 moveto}if
  1068. 0 0 1 StartAng EndAng
  1069. dupPoint eq
  1070. {pop pop 0 359 arc closepath}
  1071. {ArcAng 0 lt
  1072. {arcn}{arc}ifelse
  1073. }
  1074. ifelse
  1075. }bdef
  1076. /PBEGPOLY{
  1077. newpath pULAdj moveto
  1078. }bdef
  1079. /PPOLYPOINT {
  1080. pULAdj lineto
  1081. } bdef 
  1082. /PENDPOLY{
  1083. /Closed local
  1084. Closed{closepath}if
  1085. }bdef
  1086. /PBEGRGN{mark}bdef
  1087. /PREGION{PRECT cleartomark}bdef
  1088. /PTXBEG {/PTSave1 save const} bdef
  1089. /PROTATE {
  1090. currentdict /PRotateSave known not
  1091. {save /PRotateSave exch def} if
  1092. 3 1 roll dupPoint neg exch neg exch 5 2 roll 
  1093. translate rotate translate
  1094. } bdef
  1095. /PHFLIP {
  1096. currentdict /PRotateSave known not
  1097. {save /PRotateSave exch def} if
  1098. dupPoint neg exch neg exch 4 2 roll 
  1099. translate -1  1 scale translate
  1100. } bdef
  1101. /PVFLIP {
  1102. currentdict /PRotateSave known not
  1103. {save /PRotateSave exch def} if
  1104. dupPoint neg exch neg exch 4 2 roll 
  1105. translate  1 -1 scale translate 
  1106. } bdef
  1107. /PROTATE_END
  1108. {
  1109. PRotateSave restore
  1110. } bdef
  1111. /PSCALETEXT {
  1112. AD_PointsToUCS mul div /Xscale exch def 
  1113. AD_PointsToUCS mul div /Yscale exch def
  1114. currentfont [ Xscale 0 0 Yscale 0 0 ] makefont setfont
  1115. /AD_fontscaleX AD_fontscaleX Xscale mul def
  1116. /AD_fontscale AD_fontscale Yscale mul def
  1117. } bdef
  1118. /PSTBEG {
  1119. userdict /md known not 
  1120. { userdict begin /md 0 def end } if
  1121. PBLACK /PictPostScript true def
  1122. } bdef
  1123. /PSTEND {
  1124. /PictPostScript false def
  1125. } bdef
  1126. /mayStroke{                
  1127. currentlinewidth 0 gt isHairline or
  1128. {
  1129. gsave
  1130. DoingWedge  {MiterJoin setlinejoin} if 
  1131. currentlinewidth  1 AD_DeviceScale div sub setlinewidth 
  1132. stroke 
  1133. grestore
  1134. } if
  1135. /DoingWedge false assign
  1136. } bdef
  1137. /PFRAME{mayStroke}bdef
  1138. /PPAINT{mayStroke eofill}bdef
  1139. /PERASE{mayStroke eofill}bdef
  1140. /PFILL {mayStroke gsave eofill grestore}bdef
  1141. systemdict /currentpacking known
  1142. {AD_OldPacking setpacking} if
  1143. /AldusDone AldusVersion def            
  1144. end                                                        
  1145.